package ch15;

import java.util.ArrayList;
import java.util.List;

public class ListTest {
    public static void main(String[] args) {
        List l=new ArrayList();
//boolean add(E e)向列表的尾部添加指定的元素（可选操作）。
        l.add("小蜜蜂");
        l.add("小鸟");
        l.add("蜻蜓");

//int size()返回列表中的元素数。
// 如果列表包含多于 Integer.MAX_VALUE 个元素，则返回 Integer.MAX_VALUE。
        System.out.println("长度为："+l.size());
        System.out.println(l);

        l.add(1,"小鸟");
//add(int index, E element)
// 在列表的指定位置插入指定元素（可选操作）。

        System.out.println("变化后长度为:"+l.size());
        System.out.println(l);

//***************
/*int indexOf(Object o)返回此列表中第一次出现的指定元素的索引；
 如果此列表不包含该元素，则返回 -1。更确切地讲，
 返回满足 (o==null ? get(i)==null : o.equals(get(i)))
 的最低索引 i；如果没有这样的索引，则返回 -1。 */
        System.out.println(l.indexOf("老虎"));//-1
        System.out.println(l.indexOf("蜻蜓"));//3

//***************
//remove(int index)移除列表中指定位置的元素（可选操作）。
// 将所有的后续元素向左移动（将其索引减 1）。返回从列表中移除的元素。
        l.remove(1);
        System.out.println(l);

/*boolean remove(Object o)从此列表中移除第一次出现的指定元素（如果存在）（可选操作）。
 如果列表不包含元素，则不更改列表。
 更确切地讲，移除满足 (o==null ? get(i)==null : o.equals(get(i)))
 的最低索引 i 的元素（如果存在这样的元素）。如果此列表已包含指定元素
 （或者此列表由于调用而发生更改），则返回 true。*/
        l.remove("小鸟");
        System.out.println(l);

// get(int index)返回列表中指定位置的元素。
        Object o=l.get(0);
        System.out.println("第一个元素为:"+o);

//boolean contains(Object o)如果列表包含指定的元素，则返回 true。
// 更确切地讲，当且仅当列表包含满足 (o==null ? e==null : o.equals(e))
// 的元素 e 时才返回 true。
        System.out.println(l.contains("老虎"));//false
        System.out.println(l.contains("小蜜蜂"));//true


    }
}
